
package persistencias;

import classes.Cliente;
import java.util.List;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;

public class PCliente {

    private List<Cliente> clientes = new ArrayList<Cliente>();
    int i;
    int j;
    
    
    public Cliente consultarNome(Cliente cliente){
        if (clientes.size() > 0) {
            for(i = 0; i< clientes.size(); i++){
                if (clientes.get(i).getNome().equalsIgnoreCase(cliente.getNome())) {
                    System.out.println("Cliente já cadastrado");
                    return clientes.get(i);
                }
            }
        }
        System.out.println("Cliente ainda não cadastrado");
        return null;
    }
    
    public Cliente consultarCpf(Cliente cliente){
        if (clientes.size() > 0) {
            for(i = 0; i< clientes.size(); i++){
                if (clientes.get(i).getCpf() == cliente.getCpf()) {
                    System.out.println("Cliente já cadastrado");
                    return clientes.get(i);
                }
            }
        }
        System.out.println("Cliente ainda não cadastrado");
        return null;
    }
    
//   public int encontrar(Cliente cliente){
//        i = -1;
//        i = clientes.indexOf(cliente);
//        return i;
//    }
    
    public void adicionar(Cliente cliente) {
            this.clientes.add(cliente);
            System.out.println("Cliente cadastrado!");
    }
    
    public void excluir(Cliente cliente) {
    this.clientes.remove(cliente);
    }

    public List<Cliente> getClientes() {
        return clientes;
    }

    
    
        //Manipulação de Arquivos
    
    public void salvarClientesArquivo(List<Cliente> clientes) throws IOException {
                FileWriter writer = new FileWriter(new File("clientes.txt"));
                PrintWriter saida = new PrintWriter(writer);
                
                for( i=0; i < clientes.size(); i++) {
                        saida.println(clientes.get(i).getNome() + "," 
                        + clientes.get(i).getCpf() + ","
                        + clientes.get(i).getEndereco() + "," 
                        + clientes.get(i).getTelefone() + ",");
                }
                writer.close();
                saida.close();
        }
    
    public void carregarClientesArquivo(List<Cliente> clientes) throws IOException {
                File arquivo = new File("clientes.txt");
                
                if(!arquivo.exists()) arquivo.createNewFile();
                else {
               
                        FileReader leitura = new FileReader("clientes.txt");
                        BufferedReader leitor = new BufferedReader(leitura);
                                
                        String linha = null;
                        String [] vetor = null;
                
                        while((linha = leitor.readLine()) != null) {
                                vetor = linha.split(",");
                        
                                String nome = vetor[0];
                                long cpf = Long.parseLong(vetor[1]);
                                String endereco = vetor[2];
                                long telefone = Long.parseLong(vetor[3]); 
                        
                                Cliente novoCliente = new Cliente(nome, cpf, endereco, telefone);
                
                                adicionar(novoCliente);
                        }
                        leitor.close();
                        leitura.close();
                }
        }
            
}
